{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7e76d2bc",
   "metadata": {},
   "source": [
    "# 第一次习题\n",
    "## 第一章\n",
    "\n",
    "###  一、多选题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe5470b2",
   "metadata": {},
   "source": [
    "1.下面```(   )```选项是正确的```Pyhon```标准库对象导入语句。\n",
    "```\n",
    "A. import math.sin as sin\n",
    "B. from math import sin\n",
    "C. import math.*\n",
    "D. from math import *\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ea7bacdb",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'ABD' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-1-5fb2f39dc673>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mABD\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m: name 'ABD' is not defined"
     ]
    }
   ],
   "source": [
    "ABD"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9dda894",
   "metadata": {},
   "source": [
    "2.下面开发环境可以用来编写和调试```Python```程序的有```(   )```。\n",
    "```\n",
    "A. IDLE\n",
    "B. Jupyter Notebook\n",
    "C. Spyder\n",
    "D. PyCharm\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ddafea20",
   "metadata": {},
   "outputs": [],
   "source": [
    "ABCD"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "959b2ff6",
   "metadata": {},
   "source": [
    "3.下面说法正确的选项有```(   )```。\n",
    "```\n",
    "A.正确的缩进对Python程序是非常重要的\n",
    "B.在表达式中圆括号可以改变运算顺序\n",
    "C.在Python 3.x中可以使用中文做变量名\n",
    "D. Pyhon程序中的空格和空行可有可无，但是适当的增加空格和空行可以提高代码的可读性\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "68d13d5e",
   "metadata": {},
   "outputs": [],
   "source": [
    "ABC"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63a9ecd2",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e54d8721",
   "metadata": {},
   "source": [
    "```\n",
    "1.缩进对于Python代码至关重要。(    )\n",
    "2.为了让代码更加紧凑，减少占用空间，不应该在代码中任何位置增加空格和空行。(    )\n",
    "3.在Python 3x中不能使用汉字作为变量名。(    )\n",
    "4.对于复杂表达式，如果计算结果是正确的，那么不建议再增加圆括号来说明计算顺序，样可以使得代码更加简洁、清晰。(    )\n",
    "5.在编写代码时，一般应先导入标准库对象，再导入扩展库对象。(    )\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "00e04665",
   "metadata": {},
   "outputs": [],
   "source": [
    "1.T  2.F  3.F  4.F  5.T"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b90d42d7",
   "metadata": {},
   "source": [
    "### 三、操作题\n",
    "```\n",
    "1.下载并安装Python官方安装包和Anaconda3.\n",
    "2.使用Jupyter Notebook或Spyder运行并体会本章中的代码。\n",
    "3.安装扩展库numpy、pandas、 matplotlib、 openpyxl、 python-do\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88e80a42",
   "metadata": {},
   "source": [
    "## 第二章"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "09f15446",
   "metadata": {},
   "source": [
    "### 一、填空题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "709476f0",
   "metadata": {},
   "source": [
    "```\n",
    "1.表达式-68//7的值为_______。\n",
    "2.表达式{40,50,60}|{40,60,70}的值为_______。\n",
    "3.表达式{40,50,60}&{40,60,70}的值为_______。\n",
    "4.表达式{40, 50, 60}-{40, 60, 70}的值为_______。\n",
    "5.表达式chr(ord('0')+3)的值为_______。\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "849d15a2",
   "metadata": {},
   "outputs": [],
   "source": [
    "-68//7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bfc952ab",
   "metadata": {},
   "outputs": [],
   "source": [
    "{40,50,60}|{40,60,70}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63215064",
   "metadata": {},
   "outputs": [],
   "source": [
    "{40,50,60}&{40,60,70}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a1ac3fdf",
   "metadata": {},
   "outputs": [],
   "source": [
    "{40,50,60}-{40,60,70}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1983dd86",
   "metadata": {},
   "outputs": [],
   "source": [
    "chr(ord('0')+3)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ffe5632",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fafaa891",
   "metadata": {},
   "source": [
    "```\n",
    "l.表达式3>5 and math.sin(0)的值为0。(   )\n",
    "2.表达式4<5==5的值为True。(   )\n",
    "3.在Python 3.x中，内置函数input()用来接收用户的键盘输入,不管输入什么,都以字符串的形式返回。(   )\n",
    "4.在Python 3.x中，reduce()是内置函数，可以直接使用。(   )\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e5c350d4",
   "metadata": {},
   "outputs": [],
   "source": [
    "3>5 and math.sin(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2bfb20d4",
   "metadata": {},
   "outputs": [],
   "source": [
    "4<5==5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "26a7941b",
   "metadata": {},
   "outputs": [],
   "source": [
    "True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ce136f0f",
   "metadata": {},
   "outputs": [],
   "source": [
    "False"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "520b1449",
   "metadata": {},
   "source": [
    "### 三、编程题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69553241",
   "metadata": {},
   "source": [
    "```\n",
    "1.输入一个包含若干自然数的列表，输出这些自然数的平均值，结果保留3位小数。\n",
    "2.输入一个包含若干自然数的列表，输出这些自然数降序排列后的新列表。\n",
    "3.输入一个包含若干自然数的列表，输出一个新列表，新列表中每个元素为原列表中每个自然数的位数。例如，输入[1, 888, 99, 23456]，输出[1,3,2, 5]。\n",
    "4.输入一个包含若干数字的列表，输出其中绝对值最大的数字。例如,输入[-8,64,3.5,89]，输出-89。\n",
    "5.输入一个包含若干整数的列表，输出这些整数的乘积。例如，输入[-2,3,4], 输出-24。\n",
    "6.输入两个包含若干整数的等长列表，把这两个列表看作两个向量，输出这两个向量的内积。\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "73cfa8f5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入包含若干自然数的列表[1,2,3,4,5]\n"
     ]
    }
   ],
   "source": [
    "data = eval(input('请输入包含若干自然数的列表'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "cd36e135",
   "metadata": {},
   "outputs": [],
   "source": [
    "avg = sum(data)/len(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b96c8db6",
   "metadata": {},
   "outputs": [],
   "source": [
    "avg=round(avg,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b57b48a9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "平均值: 3.0\n"
     ]
    }
   ],
   "source": [
    "print('平均值:',avg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e8d0097f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个包含若干自然数的列表[1,2,3,4,5]\n"
     ]
    }
   ],
   "source": [
    "data = eval(input('请输入一个包含若干自然数的列表'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "62c3c730",
   "metadata": {},
   "outputs": [],
   "source": [
    "newData = sorted(data,reverse=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "001ab629",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "降序排列后的列表: [5, 4, 3, 2, 1]\n"
     ]
    }
   ],
   "source": [
    "print('降序排列后的列表:',newData)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "07d877e8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个包含若干自然数的列表:[1,888,99,23456]\n"
     ]
    }
   ],
   "source": [
    "data = eval(input('请输入一个包含若干自然数的列表:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "eeb28a69",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = map(str,data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "084a5203",
   "metadata": {},
   "outputs": [],
   "source": [
    "length = list(map(len,data))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "a903e643",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "每个元素的位数: [1, 3, 2, 5]\n"
     ]
    }
   ],
   "source": [
    "print('每个元素的位数:',length)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "e08c2d16",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个包含若干数字的列表:[-8,64,3.5,-89]\n"
     ]
    }
   ],
   "source": [
    "data = eval(input('请输入一个包含若干数字的列表:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "9dac0d83",
   "metadata": {},
   "outputs": [],
   "source": [
    "maxInt = max(data,key=abs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "be6c9425",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "绝对值最大数值: -89\n"
     ]
    }
   ],
   "source": [
    "print('绝对值最大数值:',maxInt)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "2aa9fee0",
   "metadata": {},
   "outputs": [],
   "source": [
    "from operator import mul"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "2f4f6762",
   "metadata": {},
   "outputs": [],
   "source": [
    "from functools import reduce"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "f00d3b7b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个包含若干整数的列表:[-2,3,4]\n"
     ]
    }
   ],
   "source": [
    "data = eval(input('请输入一个包含若干整数的列表:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "34677c1c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "乘积: -24\n"
     ]
    }
   ],
   "source": [
    "print('乘积:',reduce(mul,data))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "5feb5b76",
   "metadata": {},
   "outputs": [],
   "source": [
    "from operator import mul"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "a03a6a8d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入第一个向量:[1,3,5,7]\n"
     ]
    }
   ],
   "source": [
    "vec1 = eval(input('请输入第一个向量:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "c7534257",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入第二个向量:[2,4,6,8]\n"
     ]
    }
   ],
   "source": [
    "vec2 = eval(input('请输入第二个向量:'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "717e1dfc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "内积: 100\n"
     ]
    }
   ],
   "source": [
    "print('内积:',sum(map(mul,vec1,vec2)))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
